# coding=utf-8

'''
西祠代理  https://www.xicidaili.com/

通过爬虫筛选免费可用的ip代理
第一版, 爬取需要的免费代理, 以后会添加筛选条件提高代理质量, 以后可能做成qt界面版,支持linux和windows

国内高匿代理  https://www.xicidaili.com/nn/
国内普通代理  https://www.xicidaili.com/nt/
国内HTTPS代理  https://www.xicidaili.com/wn/
国内HTTP代理  https://www.xicidaili.com/wt/

xpath 解析
垂直获取 1 -- 10
//*[@id="ip_list"]/tbody/tr/td[1]

水平获取 2 -- 101
//*[@id="ip_list"]/tbody/tr[2]/td

## 国家	 IP地址	端口	服务器地址	是否匿名	类型	 速度	连接时间	存活时间	验证时间
国家	 IP地址	端口	服务器地址	是否匿名	类型	    存活时间	验证时间
{'ip':'', 'port':'', 'address':'', 'anonymous':'', 'type':'', 'lifetime':'', 'testtime':''}


'''
class xicidiliSpider(object):
    def __init__(self):
        # 西刺网站
        self.baseUrl = 'https://www.xicidaili.com/'
        # 不同代理字典
        self.agent_type = {'0':'国内高匿代理', '1':'国内普通代理', '2':'国内HTTPS代理', '3':'国内HTTP代理'}
        #　不同代理路由
        self.agent_url = {'0':'nn/', '1':'nt/', '2':'wn/', '3':'/wt'}
        # 每条数据类型
        self.line_data = {'ip':'', 'port':'', 'address':'', 'anonymous':'', 'type':'', 'lifetime':'', 'testtime':''}
        # 测试连接的 url
        self.test_url = 'https://www.baidu.com'



    def start(self):
        while True:
            print(self.agent_type)
            choice_type = input("请输入你需要的代理类型 : ")
            try:
                if (int(choice_type) < 0) or (int(choice_type) > 3):
                    continue
            except Exception as e:
                print('请按照提示正确输入数据')
                print('-'*20)

            choice_page = input("请输入您需要的页数(每页100条) : ")
            try:
                if (int(choice_type) < 0) or (int(choice_type) > 200):
                    continue
            except Exception as e:
                print('请按照提示正确输入数据')
                print('-'*20)


        print('exit;')



if __name__ == "__main__":
    xici = xicidiliSpider()
    xici.start()

